リンク・オプション
TimesTenアプリケーションをリンクする場合、次の3つのオプションがあります。
TimesTen ODBCドライバとの直接リンク
TimesTenのみを使用する必要があるアプリケーションは、TimesTen Data Manager ODBCドライバ、またはTimesTen Client ODBCドライバのいずれかと直接リンクできます。直接リンクを行うと、ドライバ・マネージャのパフォーマンス・オーバーヘッドが回避されます。直接リンクは、TimesTenにアクセスする最も簡単な方法です。ただし、直接リンクされているアプリケーションを開発する開発者は、直接リンクに関連する次の問題について注意する必要があります。
- アプリケーションは、リンクされているドライバを使用するDSNにのみ接続できます。他のベンダーのデータ・ストアには接続できません。また、バージョンまたはタイプが異なるTimesTenドライバのTimesTen DSNにも接続できません。
- WindowsのODBCトレースは、直接リンクされているアプリケーションでは利用できません。
- ODBCカーソル・ライブラリは、直接リンクされているアプリケーションでは利用できません。
- アプリケーションでは、通常ドライバ・マネージャで実行されるODBC関数は使用できません。これらの関数にはSQLDataSourcesおよびSQLDriversが含まれます。
- SQLFreeStmt(..., SQL_CLOSE)ではなく、SQLCancelを使用してカーソルをクローズするアプリケーションは、SQL_SUCCESS_WITH_INFOのリターン・コードおよびSQL State 01S05を受信します。この警告は、内部の状態をドライバ・マネージャで管理するために使用されます。アプリケーションでは、この警告は成功として処理されます。
ドライバ・マネージャとのリンク
ドライバ・マネージャとリンクしているアプリケーションは、ODBCドライバを参照するすべてのDSNに接続できます。また、様々なODBCドライバを使用する複数のDSNに同時に接続することもできます。ただし、ドライバ・マネージャを使用する場合は、次の制限があります。
- ドライバ・マネージャを使用すると、すべてのODBC関数コールに同期オーバーヘッドが追加されます。一部のアプリケーションでは、このオーバーヘッドが大量になる場合があります。
- TimesTenオプションTT_PREFETCH_COUNTは、TimesTen Data Manager ODBCドライバに直接リンクされているアプリケーションでのみ使用できます。ドライバ・マネージャにリンクしているアプリケーションでは使用できません。TT_PREFETCH_COUNTオプションの詳細は、複数のデータ行のフェッチに関する項を参照してください。
- Unicode値を使用するアプリケーションでは、NCHARパラメータとNVARCHARパラメータ、およびそれらの結果に対してSQLBindColおよびSQLBindParameterをコールする場合は、特別な手順が必要です。Unicodeの使用方法の詳細は、『Oracle TimesTen In-Memory Database APIおよびSQLリファレンス・ガイド』のUnicodeの使用方法に関する章を参照してください。
- アプリケーションでは、TimesTen固有のTT_PREFETCH_CLOSE接続オプションを設定または再設定することはできません。これは、TimesTen Client ODBCドライバを使用するアプリケーションに対する特定のSELECT問合せで有効です。TT_PREFETCH_CLOSE接続オプションの使用方法の詳細は、複数のデータ行のフェッチに関する項を参照してください。
- Windows以外のほとんどのプラットフォームでは、ドライバ・マネージャはデフォルトで使用可能ではありません。ドライバ・マネージャを使用するUNIX開発者は、サード・パーティから入手する必要があります。
- アプリケーションがドライブ・マネージャとリンクされている場合、トランザクション・ログAPI(XLA)コールは使用できません。